package com.hyt.it.ogt.kq.service.gov.model.param;

import com.hyt.core.ModelSerializable;
import com.hyt.core.validate.Insert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @program: it-ogt-kq
 * @description: 批量选择考生保存接口请求参数
 * @author: Yang HuanKun
 * @create: 2023-08-07 15:49
 **/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "BatchSelectStudentDataParam对象", description = "批量选择考生保存接口请求参数")
public class BatchSelectStudentDataParam implements ModelSerializable {

    @NotBlank(groups = Insert.class, message = "考生ID不能为空")
    @ApiModelProperty(value = "考生ID")
    private String studentBaseId;

    @NotBlank(groups = Insert.class, message = "考生姓名不能为空")
    @ApiModelProperty(value = "考生姓名")
    private String studentName;

    @NotNull(groups = Insert.class, message = "证件类型不能为空")
    @ApiModelProperty(value = "证件类型")
    private Integer cardType;

    @NotBlank(groups = Insert.class, message = "证件号码不能为空")
    @ApiModelProperty(value = "证件号码")
    private String cardNumber;

    @NotBlank(groups = Insert.class, message = "所属机构不能为空")
    @ApiModelProperty(value = "所属机构id")
    private String officeId;

    @NotBlank(groups = Insert.class, message = "所属机构不能为空")
    @ApiModelProperty(value = "所属机构名称")
    private String officeName;

    @ApiModelProperty(value = "上级id")
    private String ancestors;

    @NotBlank(groups = Insert.class, message = "部门ID不能为空")
    @ApiModelProperty(value = "部门id")
    private String deptId;
}
